home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / m2pica.lha / M2Pica / Txt / vilintuisupD.def < prev    next >
Text File  |  1995-08-21  |  7KB  |  239 lines

  1. (*******************************************************************************
  2.  : Program.         VilIntuiSupD.def
  3.  : Author.          Carsten Wartmann (Crazy Video)
  4.  : Address.         Wutzkyallee 83, 12353 Berlin
  5.  : Phone.           030/6614776
  6.  : E-Mail           C.Wartmann@GANDALF.berlinet.de (bevorzugt)
  7.  : E-Mail           Carsten_Wartmann@tfh-berlin.de
  8.  : Version.         1.0
  9.  : Date.            21.08.1995 (16.Nov.1994)
  10.  : Copyright.       Freeware
  11.  : Language.        Modula-2
  12.  : Compiler.        M2Amiga V4.3d
  13.  : Contents.        Macht die VilIntuiSup.library für MODULA-2 (M2Amiga)
  14.  : Contents.        Programmierer nutzbar.
  15.  : Contents.        Enthält Die Definitionen der Tags, Const. etc. für
  16.  : Contents.        die VilIntuiSup.library
  17. *******************************************************************************)
  18.  
  19. DEFINITION MODULE VilIntuiSupD ;
  20.  
  21.  
  22. FROM ExecD      IMPORT Node ;
  23.  
  24. FROM IntuitionD IMPORT ScreenPtr ;
  25.  
  26. FROM UtilityD   IMPORT tagUser ;
  27.  
  28. FROM SYSTEM     IMPORT ADDRESS,BYTE ;
  29.  
  30. IMPORT R;
  31.  
  32.  
  33. CONST tavisErrOk               = 0 ;
  34.       tavisErrNoMem            = 1 ;
  35.       tavisErrModeNotAvailable = 2 ;
  36.       tavisErrDimToBig         = 3 ;
  37.       tavisErrDimToDepth       = 4 ;
  38.       tavisErrDoubleBufToBig   = 5 ;
  39.       tavisErrCantOpenScreen   = 6 ;
  40.  
  41.       InvalidID                = 0FFFFFFFFH ;
  42.  
  43.       VilZero         = 000H ;
  44.       VilOne          = 00EH ;
  45.       VilScrCopy      = 00DH ;
  46.       VilNotScrCopy   = 0D0H ;
  47.       VilScrAnd       = 005H ;
  48.       VilNotScrAnd    = 050H ;
  49.       VilScrPaint     = 06DH ;
  50.       VilMergePaint   = 0D6H ;
  51.       VilScrInvert    = 059H ;
  52.       VilNotScrInvert = 095H ;
  53.       VilScrErase     = 009H ;
  54.       VilNotScrErase  = 090H ;
  55.       VilScrOrNot     = 0ADH ;
  56.       VilNotScrOrNot  = 0DAH ;
  57.       VilDstInvert    = 00BH ;
  58.  
  59.       VilModeNameLen  = 40 ;
  60.  
  61.  
  62.  
  63. TYPE Dimension = RECORD              (* für VillageOpenScreen, sollte nicht *)
  64.       ViewModeID : LONGCARD ;        (* mehr benutzt werden .               *)
  65.       width      : CARDINAL ;
  66.       height     : CARDINAL ;
  67.       depth      : CARDINAL ;
  68.      END ;
  69.  
  70.      DimensionPtr = POINTER TO Dimension ;
  71.  
  72.  
  73.      VilCustomModeNode = RECORD
  74.        node      : Node ;
  75.        text      : ARRAY [0..VilModeNameLen] OF CHAR ;
  76.        displayID : LONGCARD ;
  77.        width     : CARDINAL ;
  78.        height    : CARDINAL ;
  79.        depth     : CARDINAL ;
  80.      END ;
  81.  
  82.      VilCustomModeNodePtr = POINTER TO VilCustomModeNode ;
  83.  
  84.  
  85.      VilCopyRecord = RECORD
  86.        scrAdr   : ADDRESS ;
  87.        dstAdr   : ADDRESS ;
  88.        scrPitch : CARDINAL ;
  89.        dstPitch : CARDINAL ;
  90.        width    : CARDINAL ;
  91.        height   : CARDINAL ;
  92.        rop      : LONGCARD ;
  93.      END ;
  94.  
  95.      VilCopyRecordPtr = POINTER TO VilCopyRecord ;
  96.  
  97.  
  98.      VilFillRecord = RECORD
  99.        dstAdr   : ADDRESS ;
  100.        dstPitch : CARDINAL ;
  101.        width    : CARDINAL ;
  102.        height   : CARDINAL ;
  103.        color    : LONGINT ;
  104.      END ;
  105.  
  106.      VilFillRecordPtr = POINTER TO VilFillRecord ;
  107.  
  108.  
  109.  
  110.     TavisTags=(tavisDummy:=tagUser+4710,
  111.                tavisMinDepth,
  112.                tavisMaxDepth,
  113.                tavisMinHeight,
  114.                tavisMaxHeight,
  115.                tavisMinWidth,
  116.                tavisMaxWidth,
  117.                tavisWindowTitle,
  118.                tavisListview,
  119.                tavisOkGadget,
  120.                tavisCancelGadget,
  121.                tavisHelpText,
  122.                tavisAboutText,
  123.                tavisNoticeText,
  124.                tavisChooseText,
  125.                tavisMenuQuit,
  126.                tavisMenuHelp,
  127.                tavisMenuAbout,
  128.                tavisMenuProject,
  129.                tavisObsolete1,
  130.                tavisObsolete2,
  131.                tavisCustomList,
  132.                tavisObsolete3,
  133.                tavisObsolete4,
  134.                tavisObsolete5,
  135.                tavisObsolete6,
  136.                tavisObsolete7,
  137.                tavisObsolete8,
  138.                tavisObsolete9,
  139.                tavisObsolete10,
  140.                tavisObsolete11,
  141.                tavisScreenHeight,
  142.                tavisScreenWidth,
  143.                tavisScreenDepth,
  144.                tavisScreenModeID,
  145.                tavisBestModeID,
  146.                tavisOpenBehind,
  147.                tavisAutoscroll,
  148.                tavisAllowFallback,
  149.                tavisAdditionalMem,
  150.                tavisErrorCode,
  151.                tavisDoubleBuffer,
  152.                tavisDMStruct) ;
  153.  
  154.  
  155.  
  156.     ScreenDataTags=(sdDummy:=tagUser+4710,
  157.                     sdScreenDepth,
  158.                     sdScreenMemSize,
  159.                     sdCardMemSize,
  160.                     sdCardSegmented) ;
  161.  
  162.  
  163.  
  164.  
  165. (* Support *)
  166.  
  167. (* Setze PP für 68000er *)
  168.  
  169. PROCEDURE SetPackedPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
  170.                                                  color{R.D4} : CARDINAL) ;
  171.  
  172. (* Setze PP für 68020er aufwärts *)
  173. (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
  174.  
  175. PROCEDURE SetPackedPixelO(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
  176.                                                  color{R.D4} : CARDINAL) ;
  177.  
  178. (* PP in MODULA-2 implementiert für Vergleichszwecke *)
  179. (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
  180.  
  181. PROCEDURE SetPPM(scr : ScreenPtr ; x,y : CARDINAL ; color : SHORTCARD) ;
  182.  
  183.  
  184.  
  185. (* Setze TrueColorPixel *)
  186.  
  187. PROCEDURE SetTrueColorPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  188.                                                     r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  189.  
  190. (* Setze 15(6)BitPixel *)
  191.  
  192. PROCEDURE Set15BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  193.                                                 r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  194.  
  195. PROCEDURE Set16BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3}         : CARDINAL ;
  196.                                                 r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
  197.  
  198. (* Linienroutinen *)
  199.  
  200. (* Schnell aber ohne jeglich Sicherheitsabrage,
  201.    Guru ruft bei einer Länge von Null !!!!!!!!!! *)
  202. PROCEDURE LinePackedO(scr{R.A0} : ScreenPtr ; x1{R.D5},y1{R.D6},
  203.                                              x2{R.D2},y2{R.D3},color{R.D4} : LONGINT) ;
  204.  
  205. (* In Assembler aber mit Sicherheitsabfrage *)
  206. PROCEDURE LinePacked(scr{R.A0} : ScreenPtr ; x1{R.D5},y1{R.D6},
  207.                                               x2{R.D2},y2{R.D3},color{R.D4} : LONGINT) ;
  208.  
  209. (* In Modula-2 implementiert. Zu Vergleichszwecken *)
  210. (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
  211. PROCEDURE LinePackedM(scr{R.A0} : ScreenPtr ; x1{R.D2},y1{R.D3},x2,y2,
  212.                                              color{R.D4} : INTEGER) ;
  213.  
  214. PROCEDURE LineTrueColor(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  215.  
  216. PROCEDURE Line15Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  217.  
  218. PROCEDURE Line16Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
  219.  
  220. (* Entwickler Testroutine ;-) *)
  221. PROCEDURE TstL(scr{R.A0} : ScreenPtr ; a{R.D3} : LONGINT) ;
  222.  
  223.  
  224. (* Hi-Color Support*)
  225.  
  226. PROCEDURE Get15FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
  227. PROCEDURE Get16FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
  228.  
  229.  
  230. PROCEDURE Kreis(scr : ScreenPtr ; x,y,r,col : INTEGER) ;
  231.  
  232. PROCEDURE ClearScreen(scr : ScreenPtr) ;
  233.  
  234. PROCEDURE ClearBuf(scr : ScreenPtr ; bufadr : ADDRESS) ;
  235.  
  236.  
  237. END VilIntuiSupD .
  238.  
  239.